package com.powerbank.common.dto;

import lombok.Data;
import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 提现请求DTO
 */
@Data
public class WithdrawalRequest {

    /**
     * 用户ID
     */
    @NotNull(message = "用户ID不能为空")
    private Long userId;

    /**
     * 提现金额
     */
    @NotNull(message = "提现金额不能为空")
    @DecimalMin(value = "10.00", message = "提现金额必须大于等于10元")
    private BigDecimal amount;

    /**
     * 提现方式：ALIPAY-支付宝，WECHAT-微信，BANK-银行卡
     */
    @NotBlank(message = "提现方式不能为空")
    private String withdrawalMethod;

    /**
     * 提现账户信息（JSON格式）
     */
    @NotBlank(message = "提现账户信息不能为空")
    private String accountInfo;
}